package com.family.service;

import com.family.model.Generation;

import java.util.List;

public interface GenerationService {

    /**
     * 添加字辈
     *
     * @param generation 字辈
     * @return
     */
    Generation addGeneration(Generation generation);

    /**
     * 通过姓、字辈名查询字辈
     *
     * @param nameId
     * @param gValue
     * @return
     */
    Generation queryGenerationByName(int nameId, String gValue);

    /**
     * 通过id查询字辈
     *
     * @param generationId
     * @return
     */
    Generation queryGenerationById(int generationId);

    /**
     * 通过姓获取字辈
     *
     * @param nameId
     * @return
     */
    List<Generation> queryGenerationsByNameId(int nameId);

    /**
     * 查询所有父id为parentGenerationId的字辈
     *
     * @param parentGenerationId
     * @return
     */
    List<Generation> queryGenerationsByParentId(int parentGenerationId);

    /**
     * 更新字辈
     *
     * @param generations
     * @return
     */
    void updateGenerations(List<Generation> generations);

    /**
     * 删除字辈
     *
     * @param generationId
     */
    void deleteGenerationById(int generationId);
}
